/*题目：使用循环实现不停地scanf输入一个整数，不停地判断该整数是否为素数，直到用户 输入0为止，程序结束。判断素数的程序性能越快越好。
输入格式：
输入：在每一行中输入 1 个整数，直到遇到某行输入 0，退出程序。
输出格式：
若是素数，输出 YES，若不是，则输出 NO。
输入样例：
1
8
7
97
0
输出样例：
NO
NO
YES
YES
*/
#include<stdio.h>
#include<math.h>
int main(void)
{
int num;
scanf("%d", &num);
while (num != 0)
{
    int isprime = 1;
    if (num == 2)
       isprime = 1;
    else if (num == 1 || num % 2 == 0)
        isprime = 0;
    else {
        for (int i = 3; i < sqrt(num); i += 2)
            if (num % i == 0)
            {
                isprime = 0;
                break;
            }
    }
     isprime ? printf("YES\n") : printf("NO\n");
     scanf("%d", &num);
}
return 0;
}